package com.lmabbe.tenant.objects.query;

import com.lmabbe.common.global.enums.WhereTypeEnum;
import com.lmabbe.common.global.query.GeneralQuery;
import com.lmabbe.common.global.query.WhereType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 认证客户端VO
 *
 * @author lmabbe
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "认证客户端")
public class OauthClientQuery extends GeneralQuery {

    /**
     * 客户端key
     */
    @WhereType(type = WhereTypeEnum.LIKE)
    @ApiModelProperty(value = "客户端key")
    private String clientKey;

    /**
     * 可访问资源列表
     */
    @WhereType(type = WhereTypeEnum.JSON_ARRAY_IN)
    @ApiModelProperty(value = "可访问资源列表")
    private String resourceIds;

    /**
     * 授权方式列表
     */
    @WhereType(type = WhereTypeEnum.JSON_ARRAY_IN)
    @ApiModelProperty(value = "授权方式列表")
    private String grantTypes;

    /**
     * 访问域列表
     */
    @WhereType(type = WhereTypeEnum.JSON_ARRAY_IN)
    @ApiModelProperty(value = "访问域列表")
    private String scopes;

    /**
     * 是否必选(true:是 false:否)
     */
    @WhereType(type = WhereTypeEnum.EQ)
    @ApiModelProperty(value = "是否必选")
    private Boolean mandatory;

    /**
     * 是否是只读(true:是 false:否)
     */
    @WhereType(type = WhereTypeEnum.EQ)
    @ApiModelProperty(value = "是否是只读")
    private Boolean readonly;

    /**
     * 是否平台参数(true:是 false:否)
     */
    @WhereType(type = WhereTypeEnum.EQ)
    @ApiModelProperty(value = "是否平台参数(true:是 false:否)")
    private Boolean platform;
}